#!/usr/bin/env python

import os
import sys
import subprocess

sofiles = []

for directory in sys.argv[2:]:

    for fn in os.listdir(directory):
        fn = os.path.join(directory, fn)

        if not fn.endswith(".so.o"):
            continue
        if not os.path.exists(fn[:-2] + ".libs"):
            continue

        sofiles.append(fn[:-2])

# The raw argument list.
args = []

for fn in sofiles:
    afn = fn + ".o"
    libsfn = fn + ".libs"

    args.append(afn)
    with open(libsfn) as fd:
        data = fd.read()
        args.extend(data.split(" "))

unique_args = []
while args:
    a = args.pop()
    if a in ('-L', ):
        continue
    if a not in unique_args:
        unique_args.insert(0, a)
unique_args = [x for x in unique_args if x]

print('Biglink create %s library' % sys.argv[1])
print('Biglink arguments:')
for arg in unique_args:
    print(' %s' % arg)

args = os.environ['CC'].split() + \
    ['-shared', '-O3', '-o', sys.argv[1]] + \
    unique_args

sys.exit(subprocess.call(args))
